package com.sharer.last.model.dto.comment;

import com.sharer.last.annotation.EnumValue;
import com.sharer.last.base.model.BaseDTO;
import com.sharer.last.enums.CommentTypeEnum;
import lombok.*;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 前端评论新增入参封装
 *
 * @ClassName CommentDTO
 * @Author wangjin
 * @Date 2023/5/5 20:29
 * @Description
 * @Version 1.0
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
public class CommentAddDTO extends BaseDTO {
    /**
     * 昵称
     */
    @NotBlank(message = "昵称不能为空")
    private String nickname;

    /**
     * 头像(图片路径)
     */
    private String avatar;

    /**
     * 邮箱
     */
    @NotBlank(message = "邮箱不能为空")
    private String email;

    /**
     * 个人网站
     */
    private String website;

    /**
     * 评论内容
     */
    private String content;

    /**
     * 公开或回收站
     */
    private Boolean published;

    /**
     * 博主回复
     */
    private Boolean adminComment;

    /**
     * 评论类型 1普通文章 2关于我页面，3友链页面
     */
    @EnumValue(value = CommentTypeEnum.class, message = "评论类型不存在")
    @NotNull(message = "评论类型不能为空")
    private Integer commentType;

    /**
     * 所属的文章id
     */
    private Long relevantId;

    /**
     * 接收邮件提醒
     */
    private Boolean notice;

    /**
     * 父评论id
     */
    private Long parentCommentId;

    /**
     * 文章密码token
     */
    private String token;
}
